<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD><TITLE>tkwait manual page - Built-In Commands</TITLE>
<link rel="stylesheet" href="../docs.css" type="text/css" media="all">
</HEAD>
<BODY><H2><a href="../contents.htm">Tcl8.6.11/Tk8.6.11 Documentation</a> <small>&gt;</small> <a href="contents.htm">Tk Commands</a> <small>&gt;</small> tkwait</H2>
<H3><A HREF="../UserCmd/contents.htm">Tcl/Tk Applications</A> | <A HREF="../TclCmd/contents.htm">Tcl Commands</A> | <A HREF="../TkCmd/contents.htm">Tk Commands</A> | <A HREF="../ItclCmd/contents.htm">[incr Tcl] Package Commands</A> | <A HREF="../SqliteCmd/contents.htm">SQLite3 Package Commands</A> | <A HREF="../TdbcCmd/contents.htm">TDBC Package Commands</A> | <A HREF="../TdbcmysqlCmd/contents.htm">tdbc::mysql Package Commands</A> | <A HREF="../TdbcodbcCmd/contents.htm">tdbc::odbc Package Commands</A> | <A HREF="../TdbcpostgresCmd/contents.htm">tdbc::postgres Package Commands</A> | <A HREF="../TdbcsqliteCmd/contents.htm">tdbc::sqlite3 Package Commands</A> | <A HREF="../ThreadCmd/contents.htm">Thread Package Commands</A> | <A HREF="../TclLib/contents.htm">Tcl C API</A> | <A HREF="../TkLib/contents.htm">Tk C API</A> | <A HREF="../ItclLib/contents.htm">[incr Tcl] Package C API</A> | <A HREF="../TdbcLib/contents.htm">TDBC Package C API</A></H3>
<H3><A NAME="M2">NAME</A></H3>
tkwait &mdash; Wait for variable to change or window to be destroyed
<H3><A NAME="M3">SYNOPSIS</A></H3>
<B>tkwait variable </B><I>name</I><BR>
<B>tkwait visibility </B><I>name</I><BR>
<B>tkwait window </B><I>name</I><BR>
<H3><A NAME="M4">DESCRIPTION</A></H3>
The <B>tkwait</B> command waits for one of several things to happen,
then it returns without taking any other actions.
The return value is always an empty string.
If the first argument is <B>variable</B> (or any abbreviation of
it) then the second argument is the name of a global variable and the
command waits for that variable to be modified.
If the first argument is <B>visibility</B> (or any abbreviation
of it) then the second argument is the name of a window and the
<B>tkwait</B> command waits for a change in its
visibility state (as indicated by the arrival of a VisibilityNotify
event).  This form is typically used to wait for a newly-created
window to appear on the screen before taking some action.
If the first argument is <B>window</B> (or any abbreviation
of it) then the second argument is the name of a window and the
<B>tkwait</B> command waits for that window to be destroyed.
This form is typically used to wait for a user to finish interacting
with a dialog box before using the result of that interaction.
<P>
While the <B>tkwait</B> command is waiting it processes events in
the normal fashion, so the application will continue to respond
to user interactions.
If an event handler invokes <B>tkwait</B> again, the nested call
to <B>tkwait</B> must complete before the outer call can complete.
<H3><A NAME="M5">SEE ALSO</A></H3>
<B><A HREF="../TkCmd/bind.htm">bind</A></B>, <B><A HREF="../TclCmd/vwait.htm">vwait</A></B>
<H3><A NAME="M6">KEYWORDS</A></H3>
<A href="../Keywords/V.htm#variable">variable</A>, <A href="../Keywords/V.htm#visibility">visibility</A>, <A href="../Keywords/W.htm#wait">wait</A>, <A href="../Keywords/W.htm#window">window</A>
<div class="copy">Copyright &copy; 1992 The Regents of the University of California.
<BR>Copyright &copy; 1994-1996 Sun Microsystems, Inc.
</div>
</BODY></HTML>
